; Include file for Along32 library          (Along32.inc)
; Copyright (C) 2009 Curtis Wong.
; All right reserved.
; Email: airekans@gmail.com
; Homepage: http://along32.sourceforge.net
;
; Along32 library is free software: you can redistribute it and/or modify
; it under the terms of the GNU Lesser General Public License as
; published by the Free Software Foundation, either version 3 of the
; License, or(at your option) any later version.
;
; Along32 library is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
; GNU Lesser General Public License for more details.
;
; You should have received a copy of the GNU Lesser General Public License
; along with Along32 library.  If not, see <http://www.gnu.org/licenses/>.
;
; Last update: 2015/10/20

.NOLIST
.386
.model         flat, stdcall
.stack         4096

; ------------------------------------------
; function descriptions
; ------------------------------------------
; Clrscr ： 写入回车/换行符
; Crlf ： 输出新行
; Delay： 延迟若干微秒(microseconds)
; Gotoxy ： 定位光标到指定位置
; IsDigit ： 确定 AL 中的字符是否为有效的十进制数字(0-9)。
; DumpMem ： 将内存范围以十六进制向标准输出写入。
; ParseDecimal32 ： 将数字字符串转换为十进制数 '19' => 19
; ParseInteger32 ： 将有符号十进制整数字符串转换为int 32。 '-11' => -11
; Str_length : 计算空串字符串的长度。
; Str_compare : 比较两个字符串。
; Str_trim : 删除字符串尾部所有指定字符。
; Str_ucase : 将字符串转换为大写。
; BufferFlush： 刷新缓冲区并重置相关变量
; Random32 ： 生成一个无符号32 位伪随机整数。
; Randomize ： 使用当前时间（以秒为单位）重新编辑随机数生成器。
; RandomRange : 返回 EAX 中 0 到 n-1 之间的无符号伪随机 32 位整数。
; ReadKeys ： 从缓冲区读取一定数量的字符
; ReadDec : 从缓冲区读取十进制数
; ReadHex : 从键盘读取一个32位十六进制整数
; ReadInt ： 从标准输入读取 32 位带符号十进制整数
; ReadString： 从输入缓冲区读取字符串
; ReadChar ： 从 stdin 读取字符
; WriteBin ： 将一个32位二进制数写入控制台（接口）
; WriteBinB : 向控制台写入一个32位二进制数
; WriteChar ： 向stdout写入一个字符
; WriteDec ： 向stdout写入十进制数
; WriteHex : 向控制台窗口写入无符号32位十六进制数。
; WriteHexB : 以十六进制向控制台窗口写入一个无符号32整数。
; WriteInt : 以十进制ASCII向控制台窗口写入32位有符号整数。
; WriteString : 输出字符串（以0结尾）

; ------------------------------------------
; function prototypes
; ------------------------------------------
Clrscr         PROTO
Crlf           PROTO
Delay          PROTO
DumpMem        PROTO
DumpRegs       PROTO
Gotoxy         PROTO
IsDigit        PROTO
ParseDecimal32 PROTO
ParseInteger32 PROTO
Random32       PROTO
Randomize      PROTO
RandomRange    PROTO
ReadChar       PROTO
ReadDec        PROTO
ReadHex        PROTO
ReadInt        PROTO
ReadKey        PROTO
ReadString     PROTO
SetTextColor   PROTO
Str_compare    PROTO
Str_copy       PROTO
Str_length     PROTO
Str_trim       PROTO
Str_ucase      PROTO
WriteBin       PROTO
WriteBinB      PROTO
WriteChar      PROTO
WriteDec       PROTO
WriteHex       PROTO
WriteHexB      PROTO
WriteInt       PROTO
WriteString    PROTO

;-------------------------------------------
; Standard (ms-dos) 4-bit color definitions
;-------------------------------------------
black          = 0000b
blue           = 0001b
green          = 0010b
cyan           = 0011b
red            = 0100b
magenta        = 0101b
brown          = 0110b
lightGray      = 0111b
gray           = 1000b
lightBlue      = 1001b
lightGreen     = 1010b
lightCyan      = 1011b
lightRed       = 1100b
lightMagenta   = 1101b
yellow         = 1110b
white          = 1111b

; ------------------------------------------
; MACROS
; ------------------------------------------
EXIT           macro code
	mov eax, 0
	ret
endm

.LIST
